﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;

namespace Spymaster.Screens
{
    public abstract class AbstractScreen : 
        DrawableGameComponent
    {
        protected bool isActive = false;
        public bool IsActive
        {
            get { return isActive; }
        }

        protected GraphicsDeviceManager graphics;
        protected SpriteBatch spriteBatch;

        public AbstractScreen(Game game, GraphicsDeviceManager graphics):
            base(game)
        {
            this.graphics = graphics;
            this.spriteBatch = new SpriteBatch(graphics.GraphicsDevice);
        }

        public override abstract void Initialize();

        public abstract void LoadContent(ContentManager content);

        public override abstract void Update(GameTime gameTime);

        public override abstract void Draw(GameTime gameTime);
    }
}
